# encoding=utf8
import sys
reload(sys)
sys.setdefaultencoding('utf8')

class FT_0788:
    result=[]
    analysisDecription = ['自定义消息体长度：','应答流水号：','返回的属性总数：','参数项列表：']
    list1=['属性ID：','属性长度L:','属性值：']
    terminal_attributes = [
        {'id': '1', 'des': '车辆识别码（VIN）：', 'remark': '读写'},
        {'id': '2', 'des': '通讯编码（终端ID）：', 'remark': '只读'},  # 默认7字节
        {'id': '3', 'des': '贴片SIM卡号码：', 'remark': '只读'},  # 默认7字节
        {'id': '4', 'des': '设备编号：', 'remark': '只读'},  # 默认13字节
        {'id': '5', 'des': '设备追溯号：', 'remark': '只读'},  # 默认26字节
        {'id': '6', 'des': '图样代号：', 'remark': '只读'},  # 默认13字节
        {'id': '7', 'des': '可插拔SIM卡SIM卡串号（ICCID）：', 'remark': '只读'},
        {'id': '8', 'des': '可插拔SIM卡号码：', 'remark': '读写'},
        {'id': '9', 'des': '终端型号：', 'remark': '只读'},
        {'id': '10', 'des': '终端硬件版本号格式：', 'remark': '只读'},
        {'id': '11', 'des': '终端固件版本号格式：', 'remark': '只读'},
        {'id': '12', 'des': '车牌号码：', 'remark': '读写'},
        {'id': '13', 'des': '车牌颜色：', 'remark': '读写'},
        {'id': '14', 'des': '车牌分类：', 'remark': '读写'},
        {'id': '15', 'des': '发动机类型：', 'remark': '读写'},
        {'id': '16', 'des': '福田通道主IP：', 'remark': '读写'},
        {'id': '17', 'des': '福田通道备IP：', 'remark': '读写'},
        {'id': '18', 'des': '福田通道端口序号：', 'remark': '读写'},
        {'id': '19', 'des': '贴片卡SIM卡串号：', 'remark': '只读'},
        {'id': '20', 'des': '开始锁车时间：', 'remark': '废止'},
        {'id': '21', 'des': '绑定转速：', 'remark': '只读'},
        {'id': '22', 'des': '锁定转速：', 'remark': '只读'},
        {'id': '23', 'des': 'ECU绑定标识：', 'remark': '只读'},
        {'id': '24', 'des': '锁车标识：', 'remark': '只读'},
        {'id': '25', 'des': '发动机编号：', 'remark': '只读'},
        {'id': '26', 'des': 'ECU绑定密码：', 'remark': '只读'},
        {'id': '27', 'des': 'ECU解绑密码：', 'remark': '只读'},
        {'id': '28', 'des': 'ECU固定密钥：', 'remark': '只读'},
        {'id': '29', 'des': '中断至锁车时间间隔小时数：', 'remark': '废止'},
        {'id': '30', 'des': '贷款模式：', 'remark': '读写'},
        {'id': '31', 'des': '开始锁车时间提示天数：', 'remark': '废止'},
        {'id': '32', 'des': '终端密钥：', 'remark': '只读'},
        {'id': '33', 'des': '终端锁车ID：', 'remark': '只读'},
        {'id': '34', 'des': '车型信息：', 'remark': '只读'},
        {'id': '35', 'des': '发动机额定功率：', 'remark': '只读'}
    ]
    def LogicAisle(self, protocolStr, header):
        msglen=protocolStr[0:4]
        header.append(self.analysisDecription[0]+msglen+'\n')
        num=protocolStr[4:8]
        header.append(self.analysisDecription[1] + num + '\n')
        s=protocolStr[8:10]
        total=int(s,16)
        header.append(self.analysisDecription[2] + str(total) + '\n')
        header.append(self.analysisDecription[3] + '\n')
        s=protocolStr[10:]
        for i in range(total):
            id_i=s[0:2]
            for atb in self.terminal_attributes:
                if int(id_i,16)==int(atb['id']):
                    des=atb['des']
                    header.append(self.list1[0]+id_i+des+'\n')
                    break
            id_len=int(s[2:4],16)
            header.append(self.list1[1]+str(id_len)+'\n')
            id_val=s[4:4+id_len*2]
            header.append(self.list1[2]+id_val+'\n')
            s=s[4+id_len*2:]
        self.result=header
